1. Technical Field of the Invention
The present invention relates to a tone generator apparatus capable of polyphonic tone generation and a musical sound apparatus having the tone generator apparatus.
2. Prior Art
FIG. 11 shows a configuration example of a conventional hardware musical sound apparatus. In FIG. 11, a CPU (Central Processing Unit) 110 supplies tone generator hardware 115 with music content data 111 comprising song sequence data such as SMF (Standard MIDI File) data, SMAF (Synthetic Music Mobile Application Format) data, etc. The tone generator hardware 115 is provided with a tone generator section 133 and a sequencer 132. The tone generator section 133 contains a plurality of tone generating elements and is capable of generating a plurality of musical tones defining a plurality of voices (also referred to as sound channels). The sequencer 132 interprets the song sequence data and supplies specific control data to the tone generator section at a specified timing. The sequencer 132 includes a hardware-specific control data conversion section 132a and a time management section 132b. The hardware-specific control data conversion section 132a converts SMF data and SMAF data to control data specific to the tone generator section 133. The control data may include tone generation control parameters supplied to the above-mentioned plurality of tone generating elements. The time management section 132b controls generation of musical tones according to time management information in the control data.
When the hardware musical sound apparatus having the above-mentioned configuration reproduces a musical tone, the time management section 132b issues a data output instruction to the hardware-specific control data conversion section 132a. The instruction is used for interval data indicative of a time interval between note events included in song sequence data and the timing based on gate time data indicative of a tone generation period. In response to the instruction, the hardware-specific control data conversion section 132a outputs the converted hardware-specific control data to the tone generator section 133. Based on the supplied hardware-specific control data, the above-mentioned tone generating elements generate musical tones of the respective voices through the respective channels for output in the tone generator section 133. This operation reproduces the musical tone based on the song sequence data.
FIG. 12 shows another configuration example of the conventional musical sound apparatus. The musical sound apparatus in FIG. 12 substitutes the CPU's software processing for the sequencer 132 of the tone generator hardware 115 in the above-mentioned hardware musical sound apparatus.
Likewise the tone generator section 133 of FIG. 11, a tone generator hardware 215 in FIG. 12 includes a tone generator section 233 having a plurality of tone generating elements. A CPU 210 executes a sequencer program to implement a sequencer function means 232 comprising a hardware-specific control data conversion means 210a and a time management means 210b. The hardware-specific control data conversion means 210a converts song sequence data 211 such as SMF data and SMAF data to control data specific to the tone generator hardware 215. The time management means 210b controls timing of musical tone generation according to time management information in the data. Song sequence data comprises a series of note event information and time information indicating a time interval between events. The hardware-specific control data conversion means 210a references such information specific to the tone generator section 233 as parameters for the tone generating elements in the tone generator section 233. Based on the event information in the song sequence data 211, the hardware-specific control data conversion means 210a generates hardware-specific control data proper to the tone generator section 233. The hardware-specific control data conversion means 210a outputs the hardware-specific control data to the tone generator section 233 based on the timing determined by the time information under control of the time management means 210b. The tone generator section 233 writes the hardware-specific control data sent from the CPU 210 to a tone generator control register which stores parameters corresponding to each tone generating element. Based on the storage content in the tone generator control register, each tone generating element generates a musical tone for each voice.
Generally, when a tone generator has a plurality of voices and is capable of simultaneously generating a plurality of timbres, such tone generator uses the DVA (dynamic voice allocation) system, which dynamically allocates a free channel of an unused tone generating element to a performance part of a music piece. Namely, no fixed criterion is provided as to which tone generating element generates a musical tone of which performance part. The hardware-specific control data conversion means 210a uses a timbre table and a voice assign table to convert the event information to the corresponding hardware-specific control data. The timbre table stores the correspondence between a channel and a timbre. The voice assign table stores the usage of tone generating elements (namely, channels) in the tone generator section 233. Corresponding to the event information, the hardware-specific control data conversion means 210a references these tables to create hardware-specific control data for controlling the tone generator section 233. The hardware-specific control data conversion means 210a sends the hardware-specific control data to the tone generator section 233 at the timing specified by the time management means 210b. Here, the hardware-specific control data signifies a tone generation control parameter corresponding to each tone generating element. Each tone generating element in the tone generator section is directly controlled by the hardware-specific control data to generate a musical tone of the corresponding voice.
Concerning the hardware musical sound apparatus as shown in FIG. 11, the CPU 110 simply sends the song sequence data 111 to the tone generator hardware 115 during reproduction of a song or music piece, thereby decreasing processing loads. Since the sequencer 132 is responsible for the music content data conversion and the time management, however, the sequencer 132 is complicatedly configured. The sequencer 132 needs a large-scale circuitry, thereby increasing costs. When a new format is developed for music content data, securing the compatibility to that format is difficult.
The musical sound apparatus in FIG. 12 uses software to provide the sequencer capability. Since the CPU 210 is responsible for the music content data conversion and the time management, however, the CPU 210 increases processing loads for reproducing a song. Let us assume that an event occurs in a performance part to change the volume of a musical tone for a given channel. Control data is created and is sent to all tone generating elements, which generate the musical tone for that performance part of the song. The CPU needs to create and send many pieces of control data for the tone generator. Accordingly, the CPU needs to operate as fast as possible. When the CPU mainly performs other highly important processes such as communication control, an expensive and high-speed CPU has been required.